// 引入token集合构造函数
const Token = require("../model/token");

module.exports = async (req, res, next) => {
  // console.log(req.url);
  // 如果为登陆和退出还有访问图片，不用验证token
  if (req.url == "/login" || req.url == "/logout" || req.url.includes('/public/images')) {  
    return next();
  }
  // 获取请求头中的token
  let token = req.headers.authorization;
  // 向数据库查询token是否存在
  let result = await Token.findOne({ token: token });
  let resultToken = "";
  result && (resultToken = result.token);

  // 如果token存在则放行
  if (token === resultToken) {
    next();
  } else {
    // 否则不返回数据
    res.send('Token Error')
  }
};
